9.2.2. Bağlantılı Listeyle Yığın Tasarımı

Bu yöntem yığına atılacak her bir ayrık verinin bağlantılı liste şeklinde tutulmasına dayanır. Yığına veri koyma veya yığından veri alma listenin başından yapılabileceği için yürütme zamanı ve karmaşıklığı oldukça iyidir; karmaşıklığı her iki işlem için de olur. Yığın, herhangi bir anda şekildeki gibi bir durumdadır. Bir alma işlemi yapıldığında listenin başındaki verilir; dolayısıyla, alma işlemi bağlantılı listenin ilk düğümünü koparma ve içeriğini gönderme işlemidir. Yığına koyma işlemi de, yeni gelen verinin dinamik olarak düğümünü oluşturma ve listenin başına ekleme işlemidir.

Eğer yığın işaretçisi yi, yığının toplam kapasitesini gösteren N 'den büyük veya eşitse yığın doludur; tersi durumda yi=0 ise yığın boş olarak değerlendirilir. Yukarıdaki fonksiyonlardan koy()'da görüleceği gibi ekleme yi ile işaret edilen göze yapılmakta ve yi'nin değeri bir sonraki gözü gösterecek biçimde arttırılmaktadır. al() fonksiyonda da önce yığın işaretçisi bir önceki gözü gösterecek biçimde azaltılmakta ve önceki gözün içeriği gönderilmektedir. temizle() fonksiyonu ile amaç yığının gözlerini boşaltıp başlangıç durumuna getirmektir; burada yığındaki eski değerler olduğu gibi bırakılıp yalnızca yığın işaretçisine boş duruma karşılık düşen ilk gözün indisi 0 atanmıştır. Gerekiyorsa bir döngü kurularak yığın gözlerine belirli bir değer ataması yapılabilir.